草庐IT

Where 条件

全部标签

MySQL 在多行上查询 WHERE 和 AND

您好,我有一个关于MySQL查询的问题。我有下表:product_properties我想创建一个过滤器查询。例如:想要查看带有与“230”匹配的“示例”的所有产品。这将返回一个项目,我使用的是:SELECT*FROMproduct_propertiesWHEREproperty='example'ANDvalue='230';这很简单,但现在我想显示所有带有与“230”匹配的“示例”和与“110”匹配的“功率”的产品。我尝试了以下方法:SELECT*FROMproduct_propertiesWHEREproperty='example'ANDvalue='230'ANDproper

php - 使用多个 ON 条件加入查询在 codeigniter 中不起作用?

我需要这样的查询SELECT*FROM(`users`)LEFTJOIN`users_phone_numbers`ON`users`.`id`=`users_phone_numbers`.`user_id`LEFTJOIN`phone_number`ON(`phone_number`.`id`=`users_phone_numbers`.`phone_num_id`ANDusers_phone_numbers.is_active=1)WHERE`users`.`id`=56我在codeigniter中有这样的代码$this->db->select('*');$this->db->fro

mysql - 具有多个条件的左连接表

我正在为一个查询而苦苦挣扎。我需要LEFTJOIN两个特定ID匹配但日期不同的表:SELECT*FROMu_dataudJOINu_contractsucONuc.user_id=ud.idLEFTJOINu_transactionsutONut.contract_id=uc.id/*ANDDATE(ut.add_timestamp)>DATE(ud.suspicious)*/WHEREud.suspicious>0ANDud.suspicious!=''ANDud.suspiciousISNOTNULLANDuc._status=6GROUPBYud.id;这为我提供了正确的行数,但

带条件的 MySQL SUM DISTINCT

我需要使用条件语句和DISTINCT值来收集总和使用多个GROUPBY。下面的示例是一个复杂得多的查询的简化版本。因为真正的查询非常大,我需要避免彻底重写查询。数据Contractsidadvertiser_idstatus111221332411关闭的查询SELECTCOUNT(DISTINCTadvertiser_id)ASadvertiser_qty,COUNT(DISTINCTid)AScontract_qty,SUM(IF(status=1,1,0))AScurrent_qty,SUM(IF(status=2,1,0))ASexpired_qty,SUM(IF(status=

mysql - 重复 SQL select 语句直到满足条件

请参见下图:要获取Mazda父类别的ID,我将使用以下内容:SELECT`parent_id`FROM`product_categories`WHERE`category_id`=8ifresultisnotequalto0repeatselectstatement在满足条件之前循环SQLselect语句是否被认为是不好的做法?换一种说法;我应该重新设计产品类别表吗?非常感谢您的建议。 最佳答案 是的,在这种情况下,可能需要添加另一个包含最顶层父项的字段。这当然会引入冗余,因为信息已经在表中可用,但有时这是可以接受的性能权衡。您可以

mysql - 选择符合条件的列名 (MySQL)

我的数据库中有以下结构:id,col_a,col_b,col_c,etc...现在,除了id之外的所有其他列都是boolean类型。比方说col_a=1,col_b=0,col_c=1我正在寻找一种方法来返回列为真(=1)的列的名称,因此在此示例中,返回值应该类似于col_a,col_c将有一个动态数量的列,因为表格经常被更改以添加新列并删除旧列。我到目前为止的函数看起来像这样-它是应该返回列名称字符串的函数...DROPFUNCTIONfn_access;DELIMITER//;CREATEFUNCTIONfn_access(myidINT)RETURNSvarchar(800)DE

MySql select like where field like full string

我有一个网站,多个网站使用相同的代码,每个网站根据产品表中的设置动态地彼此不同。当用户访问网站时,我会获取完整的URL,我在产品表URL字段中有一个简短版本的url。我需要知道他加载了什么产品,所以我需要有效地说WHERE%URL%likefullURL其中url是较小的URL,完整URL是他加载的页面的URL。例如,在产品列表中我可以有URLblog.com用户点击页面,提取的完整URL为www.blog.com/index.php?parm1=test所以我需要WHERE%www.blog.com%likewww.blog.com/index.php?parm1=test这是代码,

php - 从其他表中选择具有条件规则(计数)的数据

我的数据库中有这些结构:Tablecouponcoupon_id,code,max_usedTablecoupon_historycoupon_history_id,coupon_id,used_date我能否获取“coupon.max_used”不超过“coupon_history”总历史记录的优惠券数据?我被困在这里了。我需要一个coupon_code。请帮助我。 最佳答案 尝试像这样使用JOIN和IN:SELECTcc.*FROMcouponccWHEREcc.coupon_idIN(SELECTc.coupon_idFROM

mysql - 在 where 子句中使用 -(dash) 的简单选择问题

我需要搜索像1234-abc这样的值。数据库没有这个特定值,但有另一个值1234。现在的问题是当我像这样写查询时SELECT*FROMwordsWHEREtval='1234-abc'它不是获取空记录集,而是获取1234值,它似乎忽略了-之后的任何内容,知道发生了什么吗?http://sqlfiddle.com/#!2/9de62/3 最佳答案 可以使用BINARY关键字进行精确匹配SELECTtvalFROMwordsWHEREBINARYtval='1223-abc';Binary是一个内置关键字,位于WHERE子句之后,强制比

php - MySQL 使用 "in"条件检索重复结果

在编码的所有方面,SQL是我最薄弱的技能,所以如果我听起来好像不知道自己在说什么,请原谅我,因为我可能不知道!情况:构建一个购物车,其中名为“cart”的表有一个名为“products”的字段,类型为VARCHAR255,“products”的值将是一个逗号分隔的字符串。字符串的每个元素都是一个数字,表示“产品”表中产品的ID。客户的记录可能在“产品”字段中包含一个类似于1,1,1,2,3的值。这意味着客户添加了项目1中的三个、项目2中的一个和项目3中的一个。问题:所以,这是我目前的sql语句,但问题是我需要一个sql语句,它会从产品表中返回重复的产品数据:SELECTproduct_